﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using NovaSystem.ComponentesNegocio;
using AnovoAndes.Framework.Utilidades;
using NovaSystem.EntidadesNegocio;

namespace NovaSystem.InterfazUsuarioWeb.Contabilidad
{
    public partial class wfBProveedor : System.Web.UI.Page
    {
        private const string CONCEPTO_PAIS = "PAIS";
        private const int COL_IDPROVEEDOR = 0;
        private const int COL_RUT = 1;
        private const int COL_NOMBRE = 2;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                LlenarCombos();
            }
        }

        



        private void LlenarCombos()
        {
            ddlPais.DataSource = Negociomantenedor.Instancia.Listar(CONCEPTO_PAIS);
            ddlPais.DataBind();

            ddlPaisNew.DataSource = Negociomantenedor.Instancia.Listar(CONCEPTO_PAIS);
            ddlPaisNew.DataBind();

            ddlPais.Items.Add(new ListItem("<Ninguno>", ""));
            ddlPais.SelectedValue = "";
        }

        protected void btnGrabarNew_Click(object sender, EventArgs e)
        {
            if (ValidaDatos())
            {
                
                proveedor _proveedor = new proveedor();
                _proveedor.Ciudad = txtCiudadNew.Text;
                _proveedor.contacto = txtContactoNew.Text;
                _proveedor.direccionProveedor = txtDireccionNew.Text;
                _proveedor.conceptoPais = CONCEPTO_PAIS;
                _proveedor.codigoPais = ddlPais.SelectedValue.ToString();
                _proveedor.nombreProveedor = txtNombreNew.Text;
                _proveedor.Provincia = txtProvinciaNew.Text;
                _proveedor.rutProveedor = txtRutNew.Text;
                _proveedor.telefono = txtFonoNew.Text;
                _proveedor.website = txtWebSiteNew.Text;
                _proveedor.email = txtEmailNew.Text;
                Negocioproveedor.Instancia.Insertar(_proveedor);
            }
        }

        private bool ValidaDatos()
        {
            try
            {
                return true;
            }
            catch (Exception ex)
            {
                ControlErrores.ErrorUsuario(ex, HttpContext.Current, "");
                return false;
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                proveedor _proveedor = new proveedor();
                _proveedor.rutProveedor = txtRut.Text.Replace("-","").Replace(".","");
                _proveedor.nombreProveedor = txtNombre.Text;
                _proveedor.codigoPais = ddlPais.SelectedValue;
                _proveedor.contacto = txtContacto.Text;
                _proveedor.email = txtCorreoContacto.Text;
                gvDetalle.DataSource = Negocioproveedor.Instancia.Buscar(_proveedor);
                gvDetalle.DataBind();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

        protected void gvDetalle_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void gvDetalle_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Attributes.Add("onmouseover", "Resaltar_On(this);");
                e.Row.Attributes.Add("onmouseout", "Resaltar_Off(this);");
                e.Row.Attributes["style"] += "cursor:pointer;cursor:hand;";
                //e.Row.Attributes.Add("onclick", "document.getElementById('" + hfRut.ClientID + "').value='" + e.Row.Cells[COL_RUT].Text + "';document.getElementById('" + hfNombre.ClientID + "').value='" + e.Row.Cells[COL_NOMBRE].Text + "'; var o = new Object();o.value = '" + hfRut.Value + "';o.text='" + hfNombre.Value + "';window.returnValue=o;window.close();");
                e.Row.Attributes.Add("onclick", "var o = new Object(); o.value='" + e.Row.Cells[COL_RUT].Text + "';o.text='" + e.Row.Cells[COL_NOMBRE].Text + "';o.aux = '" + e.Row.Cells[COL_IDPROVEEDOR].Text + "';window.returnValue = o;window.close();");
            }
        }

        protected void gvDetalle_RowCreated(object sender, GridViewRowEventArgs e)
        {
            e.Row.Cells[COL_IDPROVEEDOR].Visible = false;
        }




        
    }
}
